﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Auktionshus
{
    public class KlientMonitor
    {
        public delegate void ModtagetBesked(string besked);
        public event ModtagetBesked ModtagetBeskedEvent;

        string serverBesked;
        NetworkConnection networkConnection;

        public KlientMonitor(NetworkConnection networkConnection)
        {
            this.networkConnection = networkConnection;
         }
        
        /// <summary>
        /// bruger den socket connection der er lavet i networkConnection til at sende en besked til serveren.
        /// </summary>
        /// <param name="besked"></param>
        public void SkrivTilServer(string besked)
        {
            networkConnection.writer.WriteLine(besked);
            networkConnection.writer.Flush();
        }
        

        /// <summary>
        /// Metode der kører et loop som afventer beskeder fra serveren. Den er beregnet til 
        /// at blive kørt af en anden tråd end main tråden Da loopet er "uendeligt"
        /// </summary>
        public void LytTilServer()
        {
            try
            {
                while (true)
                {
                    serverBesked = networkConnection.reader.ReadLine();
                    if (serverBesked != null)
                    {
                        ModtagetBeskedEvent(serverBesked);
                    }
                }
            }
            catch (Exception)
            { 
            
            }
        }
    }
}
